This document relates to semi-centralized route computation.
The Internet is made up of multiple autonomous systems. An autonomous system can be a network of multiple machines, including routers, clients, and servers that are each controlled by a network operator, e.g., an Internet service provider or a large corporation. In the autonomous system, a router uses a routing protocol to enable communications between machines in the autonomous system and with machines in other networks and/or other autonomous systems. For example, a router can use a selected routing protocol to direct a communication to and from specific machines. Different routing protocols can be used to direct communications within the autonomous system and communications to a network outside the autonomous system. For example, the border gateway protocol can be used to route data packets outside of the autonomous system, and the internal border gateway protocol or open shortest path first protocol can be used to route data packets within the autonomous system.
Available routing protocols include centralized routing protocols and distributed routing protocols. In a centralized routing protocol, each router operates under the control of a centralized server that has complete information about all other routers in the network (e.g., topological information). In a distributed routing protocol, each router maintains its own information about other routers in (and preferred routing paths within) the network or autonomous system and independently updates such information based on protocol messages received from other routers in the network.